/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** 
*   Copyright 2014 Jan-Marwin Wollschläger                                   *
*                                                                            *
*   Licensed under the Apache License, Version 2.0 (the "License");          *
*   you may not use this file except in compliance with the License.         *
*   You may obtain a copy of the License at                                  *
*                                                                            *
*       http://www.apache.org/licenses/LICENSE-2.0                           *
*                                                                            *
*   Unless required by applicable law or agreed to in writing, software      *
*   distributed under the License is distributed on an "AS IS" BASIS,        *
*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
*   See the License for the specific language governing permissions and      *
*   limitations under the License.                                           *
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **  */   



/**
 * The Atom class implements the (basic) behaviour of an atom as it is needed
 * to create Molecules as they are defined in IMolecule and its implementing 
 * class Molecule.
 * 
 * @author Jan-Marwin Wollschläger
 * @version 0.1
 **/
public class Atom implements IAtom
{
   private String label;
   private IVector2 position;
   
   /**
   * @param atomLabel This is the atom label of this instance, e.g. "C" for carbon.
   **/
   public Atom (String atomLabel)
   {
       label = atomLabel;
   }
   
   public Atom ()
   {
      label = "C"; 
   }
   
   /**
   * Sets the atom label for this instance.
   * @param atomLabel This is the atom label of this instance, e.g. "C" for carbon.
   **/
   public void setLabel(String atomLabel)
   {
      label = atomLabel; 
   }
   
   /**
   * @return Returns the current atom label of this instance.
   **/
   public String getLabel()
   {
      return label; 
   }
   
   /**
   * @return The two-dimensional position of this atom.
   **/
   public IVector2 getPosition(){return position;}
    
   /**
   * @arg position The new two-dimensional position of this atom.
   **/
   public void setPosition(IVector2 position){this.position=position;}
   
}






